[리트코드]]_561.Array Partition


문제 주소

https://leetcode.com/problems/array-partition-i/

My Solution 1

def arrayPairSum(nums):
    sum = 0
    pair = []
    nums.sort()

    for n in nums:
        # 앞에서부터 오름차순으로 페어를 만들어서 계산
        pair.append(n)
        if len(pair) == 2:
            sum += min(pair)
            pair = []
    return sum

My Solution 2

def arrayPairSum(nums):
    sum = 0
    nums.sort()

    for i, n in enumerate(nums):
        if i % 2 == 0:
            sum += n

    return sum

My Solution 3

def arrayPairSum(nums):
    return sum(sorted(nums)[::2])

풀이방법

첫번째 풀이에서 정렬 이후, 모든 값들을 min함수를 이용해 작은 것들을 뽑아 더해줬지만,
두번째 풀이에서 정렬 이후 인덱스가 짝수인 값들은 작은 수가 된다. 그러므로, 2로 풀이
세번째는 좀 더 간단하게 파이썬 다운 풀이를 진행했다.


Hello, I'm@nickhealthy
개발자를 꿈꾸고, 파이썬과 클라우드에 관심이 많은 비전공자

Github